<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>01_准备-函数对象与实例对象</title>
</head>

<body>
  <script>
    /* 
      函数对象、实例对象
        1. 函数对象: 将函数作为对象使用时, 简称函数对象.
        2. 实例对象: new 构造函数或类产生的对象, 我们称之为实例对象
    */

    // 1. 函数对象
    function person (){};
    // 将 person 看成一个对象
    // 给其 设置 键值对 age=18
    person.age = 18;
    console.log(person.age);

    // 注意: 每一个函数对象内有一个只读属性 name 值就是 函数名称
    person.name = 'Jack';
    console.log(person.name);


    // 2. 实例对象
    function Person (name,age){
      this.name = name;
      this.age = age;
    };
    // 通过 new Person构造函数产生的对象 p1 称之为实例对象
    // 其构造函数 体内的 this 指向实例对象
    const p1 = new Person('老刘', 18)
    console.log(p1);
  </script>
</body>

</html>
